home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / romptab.doc < prev    next >
Text File  |  1995-03-31  |  3KB  |  60 lines

  1. (Reply) 
  2. Author: [Rick Grevelle] 
  3.   Date: Mon Jun 24 1991 10:53  
  4.  Lines: 50 
  5.  
  6. Your explanation of the RAM cache #707D9h is correct.  If you're into 
  7. machine language programming, you'll find that the ADDR routine in the 
  8. HACKIT library utilizes this cache to determine the location of XLIBs 
  9. taken as arguments.  Single stepping the code object that utilizes the 
  10. cache would be an excellent example for the application of Jan's MLDL 
  11. library. 
  12.  
  13. First it will be necessary to extract the code object from ADDR.  This 
  14. is easily done using the ->XLIB, and RCLIB commands also from HACKIT. 
  15. Next use the OUT-> command to decompose the RPL object in order for the 
  16. code object to be seperated.  Here's how it looks: 
  17.  
  18.  
  19.                         o   Build the XLIB object ADDR. 
  20.  
  21.         _________________________               _________________________ 
  22.         |{HOME}                 |               |{HOME}                 | 
  23.         |-----------------------|               |-----------------------| 
  24.         |4:                     |               |4:                     | 
  25.         |3:                     |               |3:                     | 
  26.         |2:                 1214|               |2:                     | 
  27.         |1:                   12|               |1:                 ADDR| 
  28.         |### ### ### ### ### ###|               |### ### ### ### ### ###| 
  29.         -------------------------               ------------------------- 
  30.       1) Enter the reals 1214, and            2) Implement ->XLIB to obtain 
  31.          12 in leves one, and two.               the ADDR command on the stack. 
  32.  
  33.  
  34.                         o   Recall the XLIB's contents. 
  35.  
  36.         _________________________               _________________________ 
  37.         |{HOME}                 |               |{HOME}                 | 
  38.         |-----------------------|               |-----------------------| 
  39.         |1: External External   |               |4:             External| 
  40.         |   External Code       |               |3: External <1h> Exte..| 
  41.         |   External External   |               |2:             External| 
  42.         |   Code External       |               |1:                   11| 
  43.         |### ### ### ### ### ###|               |### ### ### ### ### ###| 
  44.         -------------------------               ------------------------- 
  45.       1) Recall the contents of ADDR          2) Extract the code object from 
  46.          to the stack using RCLIB.               the RPL object using OUT->. 
  47.  
  48.  
  49.  
  50. The code object of interest will now be in level six.  By placing any XLIB 
  51. of your choice in level two, and the code object from level six in level one, 
  52. the MLDB function from the MLDL library will step through each instruction 
  53. of the code object, illustrating just how the data cached at #707D9h is used. 
  54.  
  55. Rick Grevelle 
  56.  
  57. [Note: #707D9h is called 'ROMPTAB' (ROM Pointer TABle, I suppose) by HP in 
  58.  the official list of supported entry points; see Goodies Disk #4.  But the 
  59.  accompanying documentation does not mention it.  -jkh-] 
  60.